//package com.dshore.messagecenter.controller.system;
//
//import java.io.BufferedReader;
//import java.io.ByteArrayOutputStream;
//import java.io.InputStream;
//import java.io.InputStreamReader;
//import java.util.List;
//import java.util.regex.Pattern;
//
//import javax.servlet.http.HttpServletRequest;
//import javax.servlet.http.HttpServletResponse;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Controller;
//import org.springframework.web.bind.annotation.RequestBody;
//import org.springframework.web.bind.annotation.RequestMapping;
//import org.springframework.web.bind.annotation.RequestMethod;
//import org.springframework.web.bind.annotation.RequestParam;
//import org.springframework.web.bind.annotation.ResponseBody;
//import org.springframework.web.multipart.MultipartFile;
//
//import com.dshore.messagecenter.log.LogAnnotation;
//import com.dshore.messagecenter.model.system.ResponseResult;
//import com.dshore.messagecenter.model.system.SysDefined;
//
//
///**
// * 自定义处理类
// * @author Administrator
// *
// */
//@Controller
//@RequestMapping("/logger")
//public class SysCustomProcessController {
//	@Autowired
//	private SysCustomProcessService sysCustomProcessService;
//	/**
//	 * 展示页面
//	 * @return
//	 */
//	@RequestMapping("/customProcess")
//	public String show() {
//		return "system/customProcess";
//	}
//	/**分页
//	 * 
//	 * @param mcApply
//	 * @return
//	 */
//	@RequestMapping(value="/getPage", method = RequestMethod.POST)
//	@ResponseBody
//	public Object getPage(@RequestBody SysDefined SysDefined) {
//		return sysCustomProcessService.queryPageByParam(SysDefined);
//	}
//	//查看历史记录
//	@RequestMapping(method = RequestMethod.POST, value = "/getByCustomCode")
//	@ResponseBody
//	public Object getByCustomCode(@RequestBody SysDefined SysDefined) {
//		return sysCustomProcessService.getByCustomCode(SysDefined);
//	}
//	/**
//	 * 查询状态
//	 */
//	@RequestMapping("/selectByStatus")
//	@ResponseBody
//	public Object selectAll() {
//		return sysCustomProcessService.selectByStatus();
//	}
//	//新增
//	@RequestMapping(value="/file",method=RequestMethod.POST)
//	@ResponseBody
//	@LogAnnotation(methodType="新增",targetType="自定义类",argsName="definedName")
//    public ResponseResult<Void> receiveTest(String definedName,String definedType,String definedVersion,@RequestParam(value="file",required=false) MultipartFile file,HttpServletRequest request,HttpServletResponse response) throws Exception {		
//		String filename=null;
//		byte[] data=null;
//		SysDefined sysdefined=new SysDefined();
//		if(file!=null) {
//			filename=file.getOriginalFilename();
//			InputStream inputStream=file.getInputStream();
//			InputStreamReader is=new InputStreamReader(inputStream);
//			BufferedReader br=new BufferedReader(is);
//			ByteArrayOutputStream bytestream=new ByteArrayOutputStream();
//			byte[]buffer=new byte[1024];
//			int ch;
//			while((ch=inputStream.read(buffer))!=-1){
//				bytestream.write(buffer,0,ch);
//			}
//			data=bytestream.toByteArray();
//			bytestream.close();
//			sysdefined.setDefinedContentName(filename);
//			sysdefined.setDefinedContent(data);
//			sysdefined.setDefinedName(definedName);
//			sysdefined.setDefinedType(definedType);
//			sysdefined.setDefinedVersion(definedVersion);
//			return	sysCustomProcessService.insertSysCustom(sysdefined);
//		}
//		ResponseResult<Void>responseResult=new ResponseResult<>(400, "失败");
//		return responseResult;
//	}
//	//更新
//	@RequestMapping(value="/fileUpdate",method=RequestMethod.POST)
//	@ResponseBody
//	@LogAnnotation(methodType="更新",targetType="自定义类",argsName="definedName")
//    public ResponseResult<Void> fileUpdate(String id,String definedName,String definedType,String definedVersion,@RequestParam(value="file",required=false) MultipartFile file) throws Exception {		
//		String filename=null;
//		byte[] data=null;
//		SysDefined sysdefined=new SysDefined();
//		if(file!=null) {
//			filename=file.getOriginalFilename();
//			String[]strArray=filename.split("\\.");
//			int suffixIndex=strArray.length-1;
//			if(strArray[suffixIndex].equals("class")) {
//				InputStream inputStream=file.getInputStream();
//				InputStreamReader is=new InputStreamReader(inputStream);
//				BufferedReader br=new BufferedReader(is);
//				ByteArrayOutputStream bytestream=new ByteArrayOutputStream();
//				byte[]buffer=new byte[1024];
//				int ch;
//				while((ch=inputStream.read(buffer))!=-1){
//					bytestream.write(buffer,0,ch);
//				}
//				data=bytestream.toByteArray();
//				bytestream.close();
//				sysdefined.setDefinedContentName(filename);
//				sysdefined.setDefinedContent(data);
//				sysdefined.setDefinedName(definedName);
//				sysdefined.setDefinedType(definedType);
//				sysdefined.setDefinedVersion(definedVersion);
//				sysdefined.setId(id);
//				return	sysCustomProcessService.insertSysCustomStorager(sysdefined);
//			}else {
//				ResponseResult<Void>responseResult=new ResponseResult<>(400, "请上传class文件");
//				return responseResult;
//			}
//		}
//		ResponseResult<Void>responseResult=new ResponseResult<>(400, "未选择上传文件");
//		return responseResult;
//	}
//	//批量删除
//	@RequestMapping(value = "/deleteAll")
//	@ResponseBody
//	@LogAnnotation(methodType="删除",targetType="自定义类",argsName="id",tableName="T_SYS_DEFINED_HANDLE",fieldName="DEFINED_NAME")
//	public ResponseResult<Void> deleteAll( String id) {
//		return sysCustomProcessService.deleteAll(id);
//	}
//	//根据id查询
//	@RequestMapping(method = RequestMethod.POST, value = "/getById")
//	@ResponseBody
//	public SysDefined getById( String id) {
//		return sysCustomProcessService.selectBySyscustom(id);
//	}
//	//更新时验证版本号
//	@RequestMapping(method = RequestMethod.POST, value = "/checkVersion")
//	@ResponseBody
//	public String checkVersion( String definedVersion,String id) {
//		return sysCustomProcessService.checkVersion(definedVersion,id);
//	}
//	//新增时验证名称是否重复
//	@RequestMapping(method = RequestMethod.POST, value = "/checkName")
//	@ResponseBody
//	public String checkName(String definedName) {
//		if(Pattern.compile("^[a-zA-Z0-9\\u4e00-\\u9fa5]{1,32}+$").matcher(definedName).find()) {
//			return sysCustomProcessService.checkName(definedName);
//		}else {
//			return "false";
//		}
//	}
//	//下载
//	@RequestMapping("/download")
//	@ResponseBody
//	public void download( String id,HttpServletResponse response) {
//		 sysCustomProcessService.download(id,response);
//	}
//	//下载
//	@RequestMapping("/Newdownload")
//	@ResponseBody
//	public void Newdownload( String id,HttpServletResponse response) {
//			sysCustomProcessService.Newdownload(id,response);
//	}
//}
